Global Positioning System (GPS) receivers normally determine their position by computing times of arrival of signals transmitted simultaneously from a multiplicity of GPS (or NAVSTAR) satellites. These satellites transmit, as part of their message, both satellite positioning data as well as data on clock timing, so-called "ephemeris" data. The process of searching for and acquiring GPS signals, reading the ephemeris data for a multiplicity of satellites and computing the location of the receiver from this data is time consuming, often requiring several minutes. In many cases, this lengthy processing time is unacceptable and, furthermore, greatly limits battery life in miniaturized portable applications.
GPS receiving systems have two principal functions. The first is the computation of the pseudoranges to the various GPS satellites, and the second is the computation of the position of the receiver using these pseudoranges and satellite timing and ephemeris data. The pseudoranges are simply the times of arrival of satellite signals measured by a local clock. This definition of pseudorange is sometimes also called code phase. The satellite ephemeris and timing data is extracted from the GPS signal once it is acquired and tracked. As stated above, collecting this information normally takes a relatively long time (30 seconds to several minutes) and must be accomplished with a good received signal level in order to achieve low error rates.
Most GPS receivers utilize correlation methods to compute pseudoranges. These correlation methods are performed in real time, often with hardware correlators. GPS signals contain high rate repetitive signals called pseudorandom (PN) sequences. The codes available for civilian applications are called C/A (coarse/acquisition) codes, and have a binary phase-reversal rate, or "chipping" rate, of 1.023 MHz and a repetition period of 1023 chips for a code period of 1 millisecond. The code sequences belong to a family known as Gold codes, and each GPS satellite broadcasts a signal with a unique Gold code.
For a signal received from a given GPS satellite, following a downconversion process to baseband, a correlation receiver multiplies the received signal by a stored replica of the appropriate Gold code contained within its local memory, and then integrates, or low-pass filters, the product in order to obtain an indication of the presence of the signal. This process is termed a "correlation" operation. By sequentially adjusting the relative timing of this stored replica relative to the received signal, and observing the correlation output, the receiver can determine the time delay between the received signal and a local clock. The initial determination of the presence of such an output is termed "acquisition." Once acquisition occurs, the process enters the "tracking" phase in which the timing of the local reference is adjusted in small amounts in order to maintain a high correlation output. The correlation output during the tracking phase may be viewed as the GPS signal with the pseudorandom code removed, or, in common terminology, "despread." This signal is narrow band, with a bandwidth commensurate with a 50 bit per second binary phase shift keyed (BPSK) data signal which is superimposed on the GPS waveform.
The correlation acquisition process is very time consuming, especially if received signals are weak. To improve acquisition time, most GPS receivers utilize a multiplicity of correlators (up to 36 typically) which allows a parallel search for correlation peaks.
Conventional GPS receiving equipment is typically designed to receive GPS signals in open spaces since the satellite signals are line-of-sight and can thus be blocked by metal and other materials. Improved GPS receivers provide signal sensitivity that allows tracking GPS satellite signals indoors, or in the presence of weak multipath signals or signals that are pure reflections. The ability to acquire such weak GPS signals, however, typically causes other problems. For example, the simultaneous tracking of strong and weak signals may cause the receiver to lock on to a cross-correlated signal, which is not a true signal. Instead of finding a weak true peak, a stronger cross-correlated peak may be acquired. Tracking a weak satellite signal does not guarantee that it is a direct signal. This weak signal may be a reflected signal or a combination of direct and indirect signals. The combined signals are referred to as multipath signals. The path of the reflected signal is typically longer than the path of the direct signal. This difference in path length causes the time-of-arrival measurement of the reflected signal to be delayed or the corresponding code phase measurement to contain a positive bias. In general, the magnitude of the bias is proportional to the relative delay between the reflected and direct paths. The possible absence of a direct signal component makes the existing multipath mitigation techniques (such as a narrow correlator or a strobe correlator) obsolete.
It is therefore desirable to provide a measurement processing algorithm that optimally utilizes various types of available data to achieve an optimal location solution.